package com.xbongbong.paas.connection.enums;

import java.util.ArrayList;
import java.util.List;

/**
 * 连接器有些需要编码的位置销帮帮没有相关编码，用id作为编码容易冲突重复，加上销帮帮的编码前缀，减少概率
 * 创建时间 2021/6/7 9:05 AM
 * 修改时间 2021/6/7 9:05 AM
 * @author chy
 */
public enum BusinessCodePrefixEnum {

	/**
	 *
	 */
	CUSTOMER_CODE_PREFIX("XBB_CU.", "客户编码前缀"),
	CONTACT_CODE_PREFIX("XBB_CO.", "联系人编码前缀"),
	PRODUCT_CATEGORY_CODE_PREFIX("XBB_PC.", "产品分类编码前缀"),
//	UNIT_CODE_PREFIX("XBB_UNIT.", "单位编码前缀"), 现在传的是单位名
	;

	/** 枚举信息 --英文名称*/
	private final String prefix;

	/** 枚举信息 --中文名称 */
	private final String name;

	/**
	 * 构造一个<code>BusinessCodePrefixEnum</code>枚举对象
	 *
	 * @param prefix
	 * @param name
	 */
	private BusinessCodePrefixEnum(String prefix, String name) {
		this.prefix = prefix;
		this.name = name;
	}

	/**
	 * @return Returns the prefix.
	 */
	public String getPrefix() {
		return prefix;
	}

	/**
	 * @return Returns the name.
	 */
	public String getName() {
		return name;
	}

	/**
	 * 通过枚举<code>prefix</code>获得枚举
	 *
	 * @param prefix
	 * @return BusinessCodePrefixEnum
	 */
	public static BusinessCodePrefixEnum getByPrefix(String prefix) {
		for (BusinessCodePrefixEnum cacheCode : values()) {
			if (cacheCode.getPrefix().equals(prefix)) {
				return cacheCode;
			}
		}
		return null;
	}
	/**
	 * 获取全部枚举
	 *
	 * @return List<BusinessCodePrefixEnum>
	 */
	public List<BusinessCodePrefixEnum> getAllEnum() {
		List<BusinessCodePrefixEnum> list = new ArrayList<>();
		for (BusinessCodePrefixEnum cache : values()) {
			list.add(cache);
		}
		return list;
	}

	/**
	 * 获取全部枚举值
	 *
	 * @return List<String>
	 */
	public List<String> getAllEnumPrefix() {
		List<String> list = new ArrayList<String>();
		for (BusinessCodePrefixEnum cache : values()) {
			list.add(cache.getPrefix());
		}
		return list;
	}

}
